home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / lang / FPL_v147.lha / fpl / README < prev   
Text File  |  1996-08-31  |  6KB  |  170 lines

  1.   FPL v14.7 beta
  2.   ~~~~~~~~~~~~~~
  3.  FPL is (C) by FrexxWare 1992-1996. All rights reserved.
  4.  
  5.  *WARNING* This software does not work! If you decide to run or use this
  6. program you should be aware that this is an early beta version and not at
  7. all stable and in fact we have several known ways of crashing it.
  8.  
  9.  LIMITS
  10.  ~~~~~~
  11.  None. The multi-platform stuff may not work as good as the Amiga-stuff does
  12. since I've yet not done enough tests.
  13.  I intend to fix those problems really soon. This beta release is to be
  14. considered very close to the "real thing"...
  15.  
  16.  INSTALL
  17.  ~~~~~~~
  18.  This is a full FPL distribution package, but the only binaries included are
  19. the Amiga's fpl.library, fplc and cpp.
  20.  
  21.  This version of the library is though very stable on interpreting FPL, why
  22. at least I (Daniel) have installed this in my LIBS: drawer since long ago. It
  23. is only when experimenting with compiled programs I've found errors so far. If
  24. you don't do that, just make sure FrexxEd (or whatever you run that uses FPL)
  25. find the v14 instead of your previous <v14 .library when started.
  26.  
  27.  * compiler
  28.  
  29.  Make sure both 'fplc' and 'cpp' are in you system path. Run 'fplc <file>'
  30. or simply 'fplc' to list all available command line options.
  31.  
  32.  DOCS
  33.  ~~~~
  34.  I trust you read the docs before asking the most trivial questions. Both
  35. pure ASCII and amigaguide versions are included. I know there are a lot more
  36. to wish from the docs but time is short and there are lots of things to do.
  37. I plan on making the programming-with-fpl-library docs up-to-date within the
  38. nearest future, but don't take it as a promise or start counting days...
  39.  
  40.  HOW TO REPORT
  41.  ~~~~~~~~~~~~~
  42.  Mail detailed reports of how to repeat bugs or suggestions of what FPL
  43. should do to: Daniel.Stenberg@sth.frontec.se. Of course we're also
  44. still available at our regular fido net address as well as I (Daniel) am
  45. available most [euro-]days on IRC channel #FrexxEd, using the nick 'Bagder'.
  46.  
  47.                         Enjoy - Daniel
  48.  
  49.  
  50.  Frexx Programming Language (FPL) is an interpreting script/macro language
  51.  shared library, designed to be flexible and easy inserted in any code.
  52.  
  53.  FPL is a complete script programming language _very_ similar to C. If you
  54.  are a software developer and plans to add any kind of macro/script control,
  55.  consider the FPL alternative!
  56.  
  57.  FPL library lets the software programmer define functions and variables that
  58.  FPL should accept. The library will call a function in the software whenever
  59.  any of these functions are used or variables are read in an FPL program.
  60.  
  61.  The programming language features include:
  62.  
  63.    o Full ANSI C syntax statements with semicolon separations.
  64.  
  65.    o String, integer/long, char and short variables, including
  66.      multidimensional arrays.
  67.  
  68.    o 100% ANSI C operator precedence and expression syntax.
  69.  
  70.    o C and C++ style comments.
  71.  
  72.    o A subset of the ANSI C function declaration and prototyping syntax and
  73.      concepts. The use of functions is exactly as C.
  74.  
  75.    o Fully recursive, fully re-entrant.
  76.  
  77.    o Local/global variable levels just as in ANSI C. Global variables can be
  78.      global within this particular file, or cross-file.
  79.  
  80.    o As an extension to C, local and global functions. Global functions can
  81.      also be either system-wide or single file accessible.
  82.  
  83.    o Enhanced (from ANSI C) array compound assigns.
  84.  
  85.    o while, for, if, do, break, continue, else, int, exit, char, long,
  86.      register, auto, volatile, typedef, const and return are 100% ANSI C
  87.      compatible. 'while' has been extended with an 'else' support and 'break'
  88.      with a multi level break option.
  89.  
  90.    o Octal, decimal, binary and decimal numbers are all easily used and mixed
  91.      as in C; and for those parts not existing in C, likewise syntax.
  92.  
  93.    o A number of internal functions which include: strcmp, strncmp, strstr,
  94.      atoi, strtol, strlen, abs, sprintf and the FPL specific substr, eval,
  95.      ltostr and interpret!
  96.  
  97.    o Supports the preprocessor instruction "#line" enabling FPL to run
  98.      common C preprocessor output.
  99.  
  100.    o Some variable reference/pointer support like that C has!
  101.  
  102.  Library features include:
  103.  
  104.    o Interpreting common ASCII text files. Create the programs in your
  105.      favourite editor.
  106.  
  107.    o 100% real-time.
  108.  
  109.    o Using an own stack without charging the host process' stack, including
  110.      extensive and exclusive stack expanding possibilies, controllable by the
  111.      library programmer.
  112.  
  113.    o Full function argument parsing, you don't have to do more than reading
  114.      them from the array FPL supplies you with.
  115.  
  116.    o Easily compiled to a shared library under AmigaDOS, UNIX and OS/2.
  117.      Compiled to link library under any modern operating system featuring an
  118.      ANSI C compiler. (It has beeen successfully compiled under AIX, SunOS,
  119.      Dell UNIX, HPUX and OS/2.)
  120.  
  121.    o Source code available enables fast ports to other operating systems.
  122.  
  123.    o FPL library is around 45KB (amiga version)/65KB (OS/2 version).
  124.  
  125.    o Very dynamic function adding and deleting possibilities.
  126.  
  127.    o Dynamic program design. Small FPL programs will demand very little memory
  128.      to run.
  129.  
  130.    o Demands less additional code than ARexx equivalences.
  131.  
  132.    o All library functions are fully re-entrant.
  133.  
  134.    o Deals with direct function calls instead of message port overhead, but
  135.      can easlily be made to do so if wanted.
  136.  
  137.    o Resource tracking. All memory used/allocated by FPL is ALWAYS returned
  138.      when calling FPL's cleanup routine.
  139.  
  140.    o Multi source file system. Declare and write functions in any number of
  141.      files and call cross-file! FPL keeps track of the files and can be made
  142.      to flush all files not in use.
  143.  
  144.    o Invoking single, already declared/defined, FPL functions from another
  145.      FPL invoke is intuitive and easy done.
  146.  
  147.    o Internal functions can be replaced by user functions.
  148.  
  149.    o Runs on AmigaDOS 1.3 and later.
  150.  
  151.  Package advantages:
  152.  
  153.    o FPL is freeware! Use it for free.
  154.  
  155.    o Includes an example program that interprets a common C language expression
  156.      from the command line.
  157.  
  158.    o ~300 KB documentation in amigaguide format (+ clean ASCII versions)
  159.  
  160.  FPL is Copyright (C) 1992-1996 by FrexxWare and freely distributable for
  161.  NON-COMMERCIAL PURPOSES ONLY, including extensive documentation and source
  162.  code.
  163.  
  164.  Author:
  165.    Daniel Stenberg
  166.    Ankdammsgatan 36, 4tr
  167.    S-171 43 SOLNA
  168.    FidoNet 2:201/328
  169.    email: Daniel.Stenberg@sth.frontec.se
  170.